home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / icon / vts.lha / vts / variant.c < prev    next >
C/C++ Source or Header  |  1993-04-30  |  1KB  |  48 lines

  1. #include "itran/tree.h"
  2.  
  3. nodeptr cat(), q();
  4.  
  5. static int first = 1;
  6.  
  7. nodeptr proc(u,w,x,y)
  8.    nodeptr u, w, x, y;
  9.    {
  10.    if (first == 1) {
  11.       first = 0;
  12.       return cat(10,q("procedure program()\n"),u,q("\n"),w,q("\n"),
  13.          q("\n"),x,q("Reduce_("),y,q(")\nEnd_()\n"));
  14.       }
  15.    return cat(8,u,q("\n"),w,q("\n"),x,q("\nReduce_("),y,q(")\nEnd_()\n"));
  16.    }
  17.  
  18. nodeptr recrd(w,y)
  19.    nodeptr w, y;
  20.    {
  21.    if (first == 1) {
  22.       first = 0;
  23.       return cat(5,q("procedure program()\nRecord_(\""),w,q("\","),
  24.          y,q(")\n"));
  25.       }
  26.    return cat(5,q("Record_(\""),w,q("\","),y,q(")\n"));
  27.    }
  28.  
  29. nodeptr globl(z)
  30.    nodeptr z;
  31.    {
  32.    if (first == 1) {
  33.       first = 0;
  34.       return cat(3,q("procedure program()\nGlobal_("),z,q(")\n"));
  35.       }
  36.    return cat(3,q("Global_("),z,q(")\n"));
  37.    }
  38.  
  39. nodeptr link(z)
  40.    nodeptr z;
  41.    {
  42.    if (first == 1) {
  43.       first = 0;
  44.       return cat(3,q("procedure program()\nLink_(\""),z,q("\")\n"));
  45.       }
  46.    return cat(3,q("Link_(\""),z,q("\")\n"));
  47.    }
  48.